package cn.itsource.arraylist;

/**
 *	测试自定义类型：基于数组的ArrayList
 */
public class ArrayListDemoTest {

	public static void main(String[] args) throws Exception {
		//创建对象
		ArrayListDemo list = new ArrayListDemo();
		int[] arr = new int[3];
		//2. 可以任意添加任意类型的数据 void add(Object obj)
		list.add(1);//这里会直接包装为Integer类型
		list.add("1");//这里会直接包装为Integer类型
		list.add(3.14);//这里会直接包装为Double类型
		list.add(true);//这里会直接包装为Boolean类型
		list.add('插');//这里会直接包装为Character类型
		list.add(new int[3]);//这里会直接包装为Integer类型
		list.add("苍苍");
		list.add("黄瓜");
//		System.err.println(list);
		//3. 可以记录当前数据的个数 int size()|
		int size = list.size();
		System.out.println(size);
		
		//4. 可以打印当前数据结构的对象，格式如下：[值1，值2.。。。。]
		System.out.println(list);
		
		//5. 查询指定下标的元素  Object searchByIndex(int index)
//		Object searchByIndex = list.searchByIndex(14);
//		System.out.println(searchByIndex);
		
		//6. 查询指定的元素第一次出现的位置  int searchByElement(Object ele);
//		int searchByElement = list.searchByElement(arr);
//		System.out.println(searchByElement);
		
		// 7. 修改指定下标处的元素  void updateByIndex(int index,Object obj)
//		System.out.println(list);
//		list.updateByIndex(16, "波波");
//		System.out.println(list);
		
		//8. 删除指定下标处的元素，返回删除的元素  	Object deleteByIndex(int index)
//		Object deleteByIndex = list.deleteByIndex(7);
//		System.out.println(deleteByIndex);
//		System.out.println(list);
		
		//9. 删除的首次出现的指定元素     void deleteByElement(Object ele)
//		list.deleteByElement("黄瓜");
//		System.out.println(list);
		
		//10.插入指定下标处一个指定元素 void insertByIndex(int index,Object obj)
//		list.insertByIndex(8, "泥鳅");
//		System.out.println(list);
//		System.out.println(list.size());
		
		//11.将对象中所有元素清空 void clear();
		list.clear();
		System.out.println(list);
		System.out.println(list.size());

	}

}
